#!/bin/bash

# Maven兼容性验证脚本
# 验证Maven版本与插件版本的兼容性

set -e

echo "🔍 正在验证Maven兼容性..."
echo "================================"

# 检查Maven版本
MAVEN_VERSION=$(mvn --version | grep "Apache Maven" | awk '{print $3}')
echo "✅ Maven版本: $MAVEN_VERSION"

# 检查Java版本
JAVA_VERSION=$(java -version 2>&1 | grep "openjdk version" | awk '{print $3}' | tr -d '"')
echo "✅ Java版本: $JAVA_VERSION"

# 检查项目配置
echo ""
echo "📋 项目配置检查:"
echo "================"

# 检查maven-compiler-plugin版本
PLUGIN_VERSION=$(grep "maven-compiler-plugin.version" pom.xml | sed 's/.*>\(.*\)<.*/\1/')
echo "maven-compiler-plugin版本: $PLUGIN_VERSION"

# 版本兼容性检查
if [[ "$MAVEN_VERSION" =~ ^3\.[6-9]\. ]]; then
    echo "✅ Maven版本兼容"
    
    if [[ "$PLUGIN_VERSION" == "3.11.0" ]]; then
        echo "✅ 插件版本已优化为兼容版本"
    else
        echo "⚠️  插件版本可能需要调整"
    fi
else
    echo "⚠️  Maven版本可能过低，建议升级到3.6+"
fi

# 测试构建
echo ""
echo "🧪 执行测试构建..."
echo "=================="

if mvn clean compile -DskipTests -q; then
    echo "✅ 构建成功！兼容性验证通过"
else
    echo "❌ 构建失败，请检查配置"
    exit 1
fi

echo ""
echo "🎉 所有检查通过！项目可以正常构建"
echo ""
echo "📖 如需更多信息，请查看:"
echo "   - MAVEN_COMPATIBILITY.md  - 兼容性解决方案"
echo "   - BUILD_OPTIMIZATION.md   - 构建优化指南"